package com.cloud.weixin.project.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.cloud.common.core.model.supers.Convert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 微信用户
 * </p>
 *
 * @author Sam
 * @since 2021-04-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("mp_wx_user")
@ApiModel(value = "WxUser对象", description = "微信用户")
public class WxUser extends Convert {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "用户备注")
    private String remark;

    @ApiModelProperty(value = "逻辑删除标记（0：显示；1：隐藏）")
    private Integer status;

    @ApiModelProperty(value = "应用类型(1:小程序，2:公众号)")
    private Integer appType;

    @ApiModelProperty(value = "是否订阅（1：是；0：否；2：网页授权用户）")
    private Integer subscribe;

    @ApiModelProperty(value = "返回用户关注的渠道来源，ADD_SCENE_SEARCH 公众号搜索，ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移，ADD_SCENE_PROFILE_CARD 名片分享，ADD_SCENE_QR_CODE 扫描二维码，ADD_SCENEPROFILE LINK 图文页内名称点击，ADD_SCENE_PROFILE_ITEM 图文页右上角菜单，ADD_SCENE_PAID 支付后关注，ADD_SCENE_OTHERS 其他")
    private String subscribeScene;

    @ApiModelProperty(value = "关注时间")
    private LocalDateTime subscribeTime;

    @ApiModelProperty(value = "关注次数")
    private Integer subscribeNum;

    @ApiModelProperty(value = "取消关注时间")
    private LocalDateTime cancelSubscribeTime;

    @ApiModelProperty(value = "用户标识")
    private String openId;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "性别（0：未知，1：男，2：女）")
    private Integer sex;

    @ApiModelProperty(value = "所在国家")
    private String country;

    @ApiModelProperty(value = "所在省份")
    private String province;

    @ApiModelProperty(value = "所在城市")
    private String city;

    @ApiModelProperty(value = "手机号码")
    private String phone;

    @ApiModelProperty(value = "用户语言")
    private String language;

    @ApiModelProperty(value = "头像")
    private String headImgUrl;

    @ApiModelProperty(value = "union_id")
    private String unionId;

    @ApiModelProperty(value = "用户组")
    private String groupId;

    @ApiModelProperty(value = "标签列表")
    private String tagIdList;

    @ApiModelProperty(value = "二维码扫码场景")
    private String qrSceneStr;

    @ApiModelProperty(value = "会话密钥")
    private String sessionKey;


}
